np.logical_not(3)
False
>>> np.logical_not([True, False, 0, 1])
array([False, True, True, False])
a = np.array([True, False])
>>> b = np.array([False, False])
>>> a & b
array([False, False])
np.logical_or(foo < 40, foo > 60)